﻿using System.Windows.Media.Imaging;

namespace LS.Dicom.Common
{
    public interface IDicomViewer
    {
        bool Show3DButton { get; set; }

        bool ShowDrawToolbar { get; set; }
        MyDictionary<int, string> DrawDataCache { get; }
        void Clear();
        void ClearAllImageDrawLines();
        void ClearDrawLines();
        string GetAllDrawData();
        BitmapSource? GetBitmapSource();
        string GetCurrentDicomFilePath();
        int GetCurrentFrameIndex();
        string GetDrawData();
        void LoadAllDrawDataFromFile(string xmlFile);
        void LoadDicomFile(string path);
        void LoadDrawDataFromFile(string xmlDataFile);
        void Print();
        string SaveAllDrawDataToFile(string drawFilePath = null);
        string SaveBitmapToFile(string filePath = null);
        string SaveDrawDataToFile(string drawFilePath = null);
        void SetBitmapSource(BitmapSource bitmap);
        void SetDrawData(string xmlData);
        void Show3DViewer(string file);
        void Show3DViewer(string leftPath, string rightPath);
        void ToFrameWithDrawData(int frameIndex);
    }

}